home *** CD-ROM | disk | FTP | other *** search
- DECODEBUFFER= $70000
- SYNC1= $4489
- SYNC2= $4489
- J: MOVEM.L D0-A6,-(A7)
- LEA picture,A0
- MOVE.W #$4000,$DFF09A
- MOVE.l #147,D0 ; HUSK AT DETTE ER * 2
- MOVEQ #3,D1 ; HUSK AT DETTE ER * 2
- BSR.S READTRACKS
- MOVE.W #$E02C,$DFF09A
- MOVEM.L (A7)+,D0-A6
- RTS
- READTRACKS:
- MOVEM.L A0-A6/D0-D7,-(A7)
- BSR.L DRIVE0
- BSR.S READIT
- MOVEM.L (A7)+,A0-A6/D0-D7
- RTS
- READIT: LEA $DFF000,A5
- SUBQ.W #1,D1 ;FOR DBF
- MOVEHEAD:
- ST $BFD100
- BSR.L SHORTWAIT
- BCLR #7,$BFD100
- BSR.L SHORTWAIT
- BCLR #3,$BFD100
- BSR.L SHORTWAIT
- BSR.L READYWAIT
- BSET #1,$BFD100
- LC0D586:BTST #4,$BFE001
- BEQ.S RIGHTPOS
- BCLR #0,$BFD100
- BSR.L SHORTWAIT
- BSET #0,$BFD100
- BSR.L LONGWAIT
- BRA.S LC0D586
- RIGHTPOS:
- BSET #2,$BFD100
- MOVEQ #0,D2
- MOVE.B D0,D2
- LSR.W #1,D2
- BCC.S SIDE0
- BCLR #2,$BFD100
- SIDE0: SUBQ.W #1,D2
- BMI.S HEADREADY
- BCLR #1,$BFD100
- LC0D5D6:BCLR #0,$BFD100
- BSR.L SHORTWAIT
- BSET #0,$BFD100
- BSR.L LONGWAIT
- DBRA D2,LC0D5D6
- HEADREADY:
- READNEXTTRACK:
- BSR.L SHORTWAIT
- DMAINIT:MOVE.W #$8500,$9E(A5)
- MOVE.W #SYNC1,$7E(A5)
- BSR.L READYWAIT
- MOVE.W #$4000,$24(A5)
- MOVE.L #DECODEBUFFER,$20(A5)
- MOVE.W #$9F40,$24(A5)
- MOVE.W #$9F40,$24(A5)
- MOVE.W #2,$9C(A5)
- BSR.L SHORTWAIT
- DMAWAIT2:BTST #1,$1F(A5)
- BEQ.S DMAWAIT2
- BSR.L SHORTWAIT
- LC0D670:MOVE.W #$4000,$24(A5)
- MOVE.W #$400,$9E(A5)
- LEA DECODEBUFFER,A2
- MOVEQ #$A,D5
- MAINLOOP:
- MOVE.L #$55555555,D7
- SEEKSYNC:
- CMPI.W #SYNC1,(A2)+
- BNE.S SEEKSYNC
- CMPI.W #SYNC1,(A2)
- BNE.S DONOT_ADD
- ADDQ.L #2,A2
- DONOT_ADD:
- MOVE.L (A2),D3
- MOVE.W 6(A2),D4
- ANDI.W D7,D3
- ANDI.W D7,D4
- ADD.W D3,D3
- OR.W D4,D3
- ADD.W D3,D3
- MOVE.L A0,A3
- ANDI.W #$FF00,D3
- ADDA.W D3,A3
- LEA $38(A2),A2
- MOVEQ #$7F,D6
- KILLCLOCKLOOP:
- MOVE.L $200(A2),D3
- MOVE.L (A2)+,D4
- ANDI.L D7,D4
- ANDI.L D7,D3
- ADD.L D4,D4
- OR.L D3,D4
- MOVE.L D4,(A3)+
- DBRA D6,KILLCLOCKLOOP
- DBRA D5,MAINLOOP
- LEA $1600(A0),A0
- NOP
- NOP
- NOP
- NOP
- CHANGESIDE:
- BCHG #2,$BFD100
- BNE.S SKIP
- AND.B #$FC,$BFD100
- BSR.S SHORTWAIT
- BSET #0,$BFD100
- BSR.S LONGWAIT
- SKIP: DBRA D1,READNEXTTRACK
- MOTOROFF:
- BSET #3,$BFD100
- BSR.S SHORTWAIT
- BSET #7,$BFD100
- BSR.S SHORTWAIT
- BCLR #3,$BFD100
- BSR.S SHORTWAIT
- BSET #3,$BFD100
- BCLR #1,$BFE001
- FINNISH:RTS
- DRIVE0: MOVE.B #$7D,$BFD100
- MOVE.B #$77,$BFD100
- RTS
- READYWAIT:
- BTST #5,$BFE001
- BNE.S READYWAIT
- RTS
- SHORTWAIT:
- NOP
- NOP
- RTS
- LONGWAIT:
- MOVE.W #$1600,D7
- LW_LOOP:DBRA D7,LW_LOOP
- RTS
- END:
- picture:blk.b 14400,0
-